import 'package:brisk/theme/application_theme.dart';
import 'package:flutter/material.dart';

ApplicationTheme catppuccinFrappe = const ApplicationTheme(
  isLight: false,
  themeId: "Catppuccin Frappe",
  fontWeight: FontWeight.normal,
  textColor: Color.fromRGBO(198, 208, 245, 1),
  textHintColor: Color.fromRGBO(165, 173, 206, 1),
  widgetTheme: WidgetTheme(
    tooltipIconColor: Colors.white,
    toolTipColor: ToolTipColor(
      backgroundColor: Color.fromRGBO(82, 87, 111, 1),
      textColor: Color.fromRGBO(198, 208, 245, 1),
      borderColor: Color.fromRGBO(115, 121, 148, 1),
    ),
    iconButtonColor: ButtonColor(
      iconColor: Colors.white54,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Color.fromRGBO(41, 46, 59, 1.0),
      backgroundColor: Color.fromRGBO(48, 52, 70, 1),
    ),
    showHideButtonColor: ButtonColor(
      iconColor: Color.fromRGBO(202, 211, 245, 1),
      textColor: Color.fromRGBO(202, 211, 245, 1),
      hoverTextColor: Color.fromRGBO(180, 190, 254, 1),
      backgroundColor: Color.fromRGBO(76, 79, 105, 0.2),
      hoverIconColor: Color.fromRGBO(165, 230, 240, 1),
      hoverBackgroundColor: Color.fromRGBO(76, 79, 105, 0.4),
    ),
    switchColor: SwitchColor(
      activeColor: Colors.green,
      focusColor: Colors.lightGreen,
    ),
    dropDownColor: DropDownColor(
      dropDownBackgroundColor: Color.fromRGBO(49, 50, 68, 1),
      itemTextColor: Colors.white,
    ),
    textFieldColor: TextFieldColor(
      focusBorderColor: const Color.fromRGBO(53, 89, 143, 1),
      borderColor: Color.fromRGBO(82, 87, 111, 1),
      fillColor: Color.fromRGBO(48, 52, 70, 1),
      textColor: Color.fromRGBO(198, 208, 245, 1),
      cursorColor: Color.fromRGBO(198, 208, 245, 1),
    ),
  ),
  contextMenuTheme: ContextMenuTheme(
    backgroundColor: const Color.fromRGBO(49, 50, 68, 1),
    itemDisabledTextColor: Colors.grey,
    borderColor: Colors.transparent,
    itemTextColor: Color.fromRGBO(198, 208, 245, 1),
  ),
  downloadProgressDialogTheme: const DownloadProgressDialogTheme(
    totalProgressColor: ProgressIndicatorColor(
      backgroundColor: Color.fromRGBO(69, 71, 90, 1),
      color: Colors.green,
    ),
    connectionProgressColor: ProgressIndicatorColor(
      backgroundColor: Color.fromRGBO(88, 91, 112, 1),
      color: Colors.indigoAccent,
    ),
    resumeColor: const ButtonColor(
      iconColor: Color.fromRGBO(255, 255, 255, 1),
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(65, 135, 160, 1),
      hoverTextColor: Color.fromRGBO(255, 255, 255, 1),
      backgroundColor: Color.fromRGBO(49, 116, 143, 1),
      textColor: Color.fromRGBO(255, 255, 255, 1),
      borderHoverColor: Colors.green,
    ),
    pauseColor: const ButtonColor(
      iconColor: Color.fromRGBO(255, 255, 255, 1),
      hoverIconColor: Colors.transparent,
      textColor: Color.fromRGBO(255, 255, 255, 1),
      hoverBackgroundColor: Color.fromRGBO(230, 50, 90, 1),
      hoverTextColor: Color.fromRGBO(255, 255, 255, 1),
      backgroundColor: Color.fromRGBO(231, 130, 132, 1),
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
  ),
  topMenuTheme: const TopMenuTheme(
    backgroundColor: Color.fromRGBO(59, 64, 87, 1.0),
    disabledHoverColor: Colors.white10,
    addUrlColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    downloadColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    stopColor: const ButtonColor(
      iconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: const Color.fromRGBO(163, 23, 30, 0.3),
    ),
    checkForUpdateColor: const ButtonColor(
      iconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: const Color.fromRGBO(0, 128, 128, 0.3),
    ),
    stopAllColor: const ButtonColor(
      iconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: const Color.fromRGBO(163, 23, 30, 0.3),
    ),
    removeColor: const ButtonColor(
      iconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: const Color.fromRGBO(163, 23, 30, 0.3),
    ),
    addToQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: const Color.fromRGBO(0, 128, 128, 0.3),
    ),
    extensionColor: const ButtonColor(
      iconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: const Color.fromRGBO(0, 128, 128, 0.3),
    ),
    searchColor: const ButtonColor(
      iconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverIconColor: const Color.fromRGBO(0, 128, 128, 1),
      hoverBackgroundColor: const Color.fromRGBO(0, 128, 128, 0.3),
    ),
    createQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    startQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
    stopQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverIconColor: const Color.fromRGBO(163, 23, 30, 1),
      hoverBackgroundColor: const Color.fromRGBO(163, 23, 30, 0.3),
    ),
    scheduleQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
  ),
  sideMenuTheme: const SideMenuTheme(
    settingIconColor: Color.fromRGBO(165, 173, 206, 1),
    backgroundColor: Color.fromRGBO(41, 44, 60, 1),
    briskLogoColor: Color.fromRGBO(198, 208, 245, 1),
    activeTabIconColor: Color.fromRGBO(198, 208, 245, 1),
    activeTabBackgroundColor: Color.fromRGBO(108, 112, 134, 1),
    tabHoverColor: const Color.fromRGBO(64, 65, 66, 0.3),
    tabIconColor: Color.fromRGBO(165, 173, 206, 1),
    tabBackgroundColor: Colors.transparent,
    expansionTileExpandedColor: const Color.fromRGBO(64, 65, 66, 0.8),
    expansionTileItemActiveColor: const Color.fromRGBO(10, 126, 242, 0.8),
    expansionTileItemHoverColor: const Color.fromRGBO(64, 65, 66, 0.2),
  ),
  downloadGridTheme: const DownloadGridTheme(
    rowTextColor: Colors.white,
    titleColumnTextColor: Colors.white,
    backgroundColor: Color.fromRGBO(48, 52, 70, 1),
    activeRowColor: Color.fromRGBO(77, 81, 104, 1),
    checkedRowColor: Color.fromRGBO(90, 95, 120, 1),
    borderColor: Colors.black26,
    rowColor: Colors.black26,
  ),
  settingTheme: SettingTheme(
    pageTheme: SettingPageTheme(
      groupBackgroundColor: Color.fromRGBO(41, 44, 60, 1),
      groupTitleTextColor: Colors.white,
      titleTextColor: Colors.white,
    ),
    sideMenuTheme: const SettingSideMenuTheme(
      backgroundColor: Color.fromRGBO(41, 44, 60, 1),
      activeTabBackgroundColor: Color.fromRGBO(108, 112, 134, 1),
      tabTextColor: Color.fromRGBO(198, 208, 245, 1),
      activeTabIconColor: Color.fromRGBO(198, 208, 245, 1),
      inactiveTabIconColor: Colors.white,
      tabHoverBackgroundColor: Color.fromRGBO(108, 112, 134, 1),
    ),
    saveButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(186, 229, 157, 1),
      hoverTextColor: Color.fromRGBO(30, 32, 45, 1),
      backgroundColor: Color.fromRGBO(166, 209, 137, 1),
      textColor: Color.fromRGBO(48, 52, 70, 1),
      borderHoverColor: Colors.green,
    ),
    resetDefaultsButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(250, 179, 135, 1),
      hoverTextColor: Color.fromRGBO(48, 52, 70, 1),
      borderColor: Colors.transparent,
      textColor: Colors.white70,
      borderHoverColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
  ),
  queuePageTheme: QueuePageTheme(
    backgroundColor: const Color.fromRGBO(30, 30, 30, 1),
    queueItemTitleTextColor: Colors.white,
    queueItemTitleDetailsTextColor: Colors.grey,
    queueItemHoverColor: Colors.white12,
  ),
  alertDialogTheme: AlertDialogTheme(
    backgroundColor: Color.fromRGBO(65, 69, 89, 1),
    innerContainerBorderColor: Colors.white30,
    cancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white,
      hoverBackgroundColor: Color.fromRGBO(230, 170, 170, 1),
      hoverTextColor: Color.fromRGBO(30, 32, 45, 1),
      backgroundColor: Colors.transparent,
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    secondaryMiscButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(49, 50, 68, 0.15),
      hoverTextColor: Color.fromRGBO(205, 214, 244, 1),
      textColor: Colors.white,
      borderColor: Color.fromRGBO(88, 91, 112, 0.3),
      backgroundColor: Color.fromRGBO(49, 50, 68, 0.01),
    ),
    primaryMiscButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(186, 250, 180, 1),
      hoverTextColor: Colors.black87,
      textColor: Color.fromRGBO(30, 30, 46, 1),
      backgroundColor: Color.fromRGBO(166, 227, 161, 1),
    ),
    iconColor: Colors.white,
    checkBoxColor: CheckBoxColor(
      borderColor: Colors.grey,
      activeColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
    acceptButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: Color.fromRGBO(110, 170, 110, 1),
      hoverTextColor: Colors.white,
      backgroundColor: Color.fromRGBO(100, 170, 100, 1),
      textColor: Colors.white,
      borderHoverColor: Colors.green,
    ),
    declineButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white,
      hoverBackgroundColor: Color.fromRGBO(243, 139, 168, 1),
      hoverTextColor: Colors.white,
      backgroundColor: Colors.transparent,
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    deleteConfirmColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverTextColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(241, 3, 3, 1.0),
      backgroundColor: const Color.fromRGBO(220, 38, 38, 1),
      textColor: Colors.white,
    ),
    deleteCancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(61, 61, 61, 1.0),
      backgroundColor: const Color.fromRGBO(37, 37, 37, 1.0),
      textColor: Colors.white70,
    ),
    surfaceColor: const Color.fromRGBO(81, 87, 109, 1),
  ),
);
